package com.lds.erp.product.vo;

import java.util.ArrayList;
import java.util.List;

import com.dph.common.utils.base.Money;
import com.dph.common.utils.base.Quantity;
import com.dph.common.utils.service.Base;
import com.dph.common.utils.utils.StringUtil;
import com.lds.erp.common.PtSkuLabelEnum;
import com.lds.erp.common.YNEnum;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

@ApiModel(value = "商品SSU详情")
public class PtSsuVo extends Base {

	/**
	 *
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "ssuId")
	private Integer ssuId;

	/**
	 * 商品规格编码
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "商品规格编码")
	private String ssuCode;

	/**
	 * 商品规格名称
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "商品规格名称")
	private String ssuName;

	/**
	 * 规格图片地址
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "规格图片地址")
	private String ssuImage;

	/**
	 * 销售价格单位分
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "销售价格单位分")
	private Money ssuSalePrice;

	/**
	 * 商品原价单位分（APP展示时划线的价格）
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "商品原价单位分（APP展示时划线的价格）")
	private Money ssuOriginalPrice;

	/**
	 * 销售库存
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "销售库存")
	private Quantity ssuStockNum;


	/**
     * 销量
     *
     *  2020-04-20 16:35:30
     */
	@ApiModelProperty(value = "销量")
    private Quantity ssuSaleNum;
	/**
	 *
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "skuId")
	private Integer skuId;

	/**
	 * sku编码
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "sku编码")
	private String skuCode;

	/**
	 * sku名称
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "sku名称")
	private String skuName;

	/**
	 * sku品牌属性ID
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "sku品牌属性ID")
	private Integer skuBrandId;

	/**
	 * sku品牌属性值
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "sku品牌属性值")
	private String skuBrandName;

	/**
	 * 主分类
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = " 主分类")
	private Integer skuCategoryRootid;

	/**
	 * 主分类名称
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "主分类名称")
	private String skuCategoryRootname;

	/**
	 * sku所属一级分类
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "sku所属一级分类")
	private Integer skuCategoryFstid;

	/**
	 * sku所属一级分类名称(冗余存储)
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = " sku所属一级分类名称")
	private String skuCategoryFstname;

	/**
	 * sku所属二级分类
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "sku所属二级分类")
	private Integer skuCategorySecid;

	/**
	 * sku所属二级分类名称(冗余存储)
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "sku所属二级分类名称")
	private String skuCategorySecname;

	/**
	 * sku所属三级分类
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "sku所属三级分类")
	private Integer skuCategoryThdid;

	/**
	 * sku所属三级分类名称(冗余存储)
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "sku所属三级分类名称")
	private String skuCategoryThdname;

	/**
	 * sku规格字符串(冗余存储,逗号分割)
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "sku规格字符串(逗号分割)")
	private String skuSpecs;

	/**
	 * sku别名（副标题）
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "sku别名（副标题）")
	private String skuAlias;

	/**
	 * sku状态(枚举值N禁用/Y启用)
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "sku状态(枚举值N禁用/Y启用)")
	private YNEnum skuStatus;

	/**
	 * sku标签（枚举值NORMAL正常/NEW新品TOPSALE畅销）
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "sku标签列表（NORMAL正常/NEW新品TOPSALE畅销多个逗号分割）")
	private List<PtSkuLabelEnum> skuLabelsList = new ArrayList<>();

	/**
	 * sku标签
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "sku标签（NEW新品TOPSALE畅销RECOMMEND推荐多个逗号分割）")
	private String skuLabels;

	/**
	 * sku计量单位ID
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "ku计量单位ID")
	private Integer skuUnitId;

	/**
	 * sku计量单位名称
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "sku计量单位名称")
	private String skuUnitName;

	/**
	 * 拼音码
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "拼音码")
	private String skuPincode;

	/**
	 * sku关键词
	 *
	 * 2020-04-20 16:35:30
	 */
	@ApiModelProperty(value = "sku关键词")
	private String skuKeyword;

	/**
     * 购买数量
     */
    @ApiModelProperty(value = "购买数量(购物车中次商品数量)")
    private Quantity ordProductNum = Quantity.zero();


	private Integer activityId;

	private Integer activityPartId;


	private Money bsSsuActivityPrice;

	@ApiModelProperty(value = "券后优惠价")
	private String ssuDiscountPriceInfo;

	/**
	 * 获取
	 *
	 * 2020-04-20 16:35:30
	 */
	public Integer getSsuId() {
		return ssuId;
	}

	/**
	 * 设置
	 *
	 * 2020-04-20 16:35:30
	 */
	public void setSsuId(Integer ssuId) {
		this.ssuId = ssuId;
	}

	/**
	 * 获取 商品所属SKUID
	 *
	 * 2020-04-20 16:35:30
	 */
	public Integer getSkuId() {
		return skuId;
	}

	/**
	 * 设置 商品所属SKUID
	 *
	 * 2020-04-20 16:35:30
	 */
	public void setSkuId(Integer skuId) {
		this.skuId = skuId;
	}

	/**
	 * 获取 商品所属SKU编码
	 *
	 * 2020-04-20 16:35:30
	 */
	public String getSkuCode() {
		return skuCode;
	}

	/**
	 * 设置 商品所属SKU编码
	 *
	 * 2020-04-20 16:35:30
	 */
	public void setSkuCode(String skuCode) {
		this.skuCode = skuCode;
	}

	/**
	 * 获取 商品规格编码
	 *
	 * 2020-04-20 16:35:30
	 */
	public String getSsuCode() {
		return ssuCode;
	}

	/**
	 * 设置 商品规格编码
	 *
	 * 2020-04-20 16:35:30
	 */
	public void setSsuCode(String ssuCode) {
		this.ssuCode = ssuCode;
	}

	/**
	 * 获取 商品规格名称
	 *
	 * 2020-04-20 16:35:30
	 */
	public String getSsuName() {
		return ssuName;
	}

	/**
	 * 设置 商品规格名称
	 *
	 * 2020-04-20 16:35:30
	 */
	public void setSsuName(String ssuName) {
		this.ssuName = ssuName;
	}

	/**
	 * 获取 规格图片地址
	 *
	 * 2020-04-20 16:35:30
	 */
	public String getSsuImage() {
		return ssuImage;
	}

	/**
	 * 设置 规格图片地址
	 *
	 * 2020-04-20 16:35:30
	 */
	public void setSsuImage(String ssuImage) {
		this.ssuImage = ssuImage;
	}

	/**
	 * 获取 销售价格单位分
	 *
	 * 2020-04-20 16:35:30
	 */
	public Money getSsuSalePrice() {
		return ssuSalePrice;
	}

	/**
	 * 设置 销售价格单位分
	 *
	 * 2020-04-20 16:35:30
	 */
	public void setSsuSalePrice(Money ssuSalePrice) {
		this.ssuSalePrice = ssuSalePrice;
	}

	/**
	 * 获取 商品原价单位分（APP展示时划线的价格）
	 *
	 * 2020-04-20 16:35:30
	 */
	public Money getSsuOriginalPrice() {
		return ssuOriginalPrice;
	}

	/**
	 * 设置 商品原价单位分（APP展示时划线的价格）
	 *
	 * 2020-04-20 16:35:30
	 */
	public void setSsuOriginalPrice(Money ssuOriginalPrice) {
		this.ssuOriginalPrice = ssuOriginalPrice;
	}

	/**
	 * 获取 销售库存
	 *
	 * 2020-04-20 16:35:30
	 */
	public Quantity getSsuStockNum() {
		return ssuStockNum;
	}

	/**
	 * 设置 销售库存
	 *
	 * 2020-04-20 16:35:30
	 */
	public void setSsuStockNum(Quantity ssuStockNum) {
		this.ssuStockNum = ssuStockNum;
	}

	public String getSkuName() {
		return skuName;
	}

	public void setSkuName(String skuName) {
		this.skuName = skuName;
	}

	public Integer getSkuBrandId() {
		return skuBrandId;
	}

	public void setSkuBrandId(Integer skuBrandId) {
		this.skuBrandId = skuBrandId;
	}

	public String getSkuBrandName() {
		return skuBrandName;
	}

	public void setSkuBrandName(String skuBrandName) {
		this.skuBrandName = skuBrandName;
	}

	public Integer getSkuCategoryRootid() {
		return skuCategoryRootid;
	}

	public void setSkuCategoryRootid(Integer skuCategoryRootid) {
		this.skuCategoryRootid = skuCategoryRootid;
	}

	public String getSkuCategoryRootname() {
		return skuCategoryRootname;
	}

	public void setSkuCategoryRootname(String skuCategoryRootname) {
		this.skuCategoryRootname = skuCategoryRootname;
	}

	public Integer getSkuCategoryFstid() {
		return skuCategoryFstid;
	}

	public void setSkuCategoryFstid(Integer skuCategoryFstid) {
		this.skuCategoryFstid = skuCategoryFstid;
	}

	public String getSkuCategoryFstname() {
		return skuCategoryFstname;
	}

	public void setSkuCategoryFstname(String skuCategoryFstname) {
		this.skuCategoryFstname = skuCategoryFstname;
	}

	public Integer getSkuCategorySecid() {
		return skuCategorySecid;
	}

	public void setSkuCategorySecid(Integer skuCategorySecid) {
		this.skuCategorySecid = skuCategorySecid;
	}

	public String getSkuCategorySecname() {
		return skuCategorySecname;
	}

	public void setSkuCategorySecname(String skuCategorySecname) {
		this.skuCategorySecname = skuCategorySecname;
	}

	public Integer getSkuCategoryThdid() {
		return skuCategoryThdid;
	}

	public void setSkuCategoryThdid(Integer skuCategoryThdid) {
		this.skuCategoryThdid = skuCategoryThdid;
	}

	public String getSkuCategoryThdname() {
		return skuCategoryThdname;
	}

	public void setSkuCategoryThdname(String skuCategoryThdname) {
		this.skuCategoryThdname = skuCategoryThdname;
	}

	public String getSkuSpecs() {
		return skuSpecs;
	}

	public void setSkuSpecs(String skuSpecs) {
		this.skuSpecs = skuSpecs;
	}

	public String getSkuAlias() {
		return skuAlias;
	}

	public void setSkuAlias(String skuAlias) {
		this.skuAlias = skuAlias;
	}

	public YNEnum getSkuStatus() {
		return skuStatus;
	}

	public void setSkuStatus(YNEnum skuStatus) {
		this.skuStatus = skuStatus;
	}

	public Integer getSkuUnitId() {
		return skuUnitId;
	}

	public void setSkuUnitId(Integer skuUnitId) {
		this.skuUnitId = skuUnitId;
	}

	public String getSkuUnitName() {
		return skuUnitName;
	}

	public void setSkuUnitName(String skuUnitName) {
		this.skuUnitName = skuUnitName;
	}

	public String getSkuPincode() {
		return skuPincode;
	}

	public void setSkuPincode(String skuPincode) {
		this.skuPincode = skuPincode;
	}

	public String getSkuKeyword() {
		return skuKeyword;
	}

	public void setSkuKeyword(String skuKeyword) {
		this.skuKeyword = skuKeyword;
	}

	public String getSkuLabels() {
		return skuLabels;
	}

	/**
	 * 设置list
	 * @param skuLabels
	 */
	public void setSkuLabels(String skuLabels) {
		this.skuLabels = skuLabels;
		if (!StringUtil.isBlank(skuLabels)) {
			skuLabelsList = new ArrayList<>();
			String[] lbs = skuLabels.split(",");
			for (String label : lbs) {
				skuLabelsList.add(PtSkuLabelEnum.getEnumByCode(label));
			}
		}
	}

	public List<PtSkuLabelEnum> getSkuLabelsList() {
		return skuLabelsList;
	}

	public void setSkuLabelsList(List<PtSkuLabelEnum> skuLabelsList) {
		this.skuLabelsList = skuLabelsList;
	}

	public Quantity getSsuSaleNum() {
		return ssuSaleNum;
	}

	public void setSsuSaleNum(Quantity ssuSaleNum) {
		this.ssuSaleNum = ssuSaleNum;
	}

	public Quantity getOrdProductNum() {
		return ordProductNum;
	}

	public void setOrdProductNum(Quantity ordProductNum) {
		this.ordProductNum = ordProductNum;
	}


	public Integer getActivityId() {
		return activityId;
	}

	public void setActivityId(Integer activityId) {
		this.activityId = activityId;
	}

	public Integer getActivityPartId() {
		return activityPartId;
	}

	public void setActivityPartId(Integer activityPartId) {
		this.activityPartId = activityPartId;
	}


	public Money getBsSsuActivityPrice() {
		return bsSsuActivityPrice;
	}

	public void setBsSsuActivityPrice(Money bsSsuActivityPrice) {
		this.bsSsuActivityPrice = bsSsuActivityPrice;
	}

	public String getSsuDiscountPriceInfo() {
		return ssuDiscountPriceInfo;
	}

	public void setSsuDiscountPriceInfo(String ssuDiscountPriceInfo) {
		this.ssuDiscountPriceInfo = ssuDiscountPriceInfo;
	}
}
